package es.tikitaka.dao;

import java.util.List;

import es.tikitaka.domain.equipo.SegEquipo;
import es.tikitaka.domain.liga.PartidoL;

public interface SegEquipoService {

	/**
	 * Método para listar todos los seguimientos de equipos en el sistema
	 * 
	 * @return lista de seguimientos
	 */
	List<SegEquipo> getList();

	/**
	 * Método para obtener los seguimientos de equipos participantes en un
	 * partido de liga
	 * 
	 * @param partido
	 * @return
	 */
	List<SegEquipo> getEquiposPartidoLiga(PartidoL partido);

	/**
	 * 
	 * @param seguimiento
	 * @return
	 */
	SegEquipo merge(SegEquipo seguimiento);

	/**
	 * 
	 * @param seguimiento
	 */
	void persist(SegEquipo seguimiento);

	/**
	 * Método para eliminar del sistema un seguimiento de equipo dado
	 * 
	 * @param id
	 *            Id del seguimiento de equipo a eliminar
	 * @return estado del proceso (true or false)
	 */
	boolean delete(Integer id);

	/**
	 * Método para guardar un seguimiento de equipo en el sistema o las
	 * modificaciones sufridas por un seguimiento ya existente
	 * 
	 * @param seguimiento
	 *            Seguimiento de equipo a guardar
	 * @return estado el proceso (true or false)
	 */
	boolean save(SegEquipo seguimiento);
}
